package org.jeecg.modules.upgrade.po;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;
import org.jeecg.modules.common.baseentity.BaseTenant;

import java.util.List;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@ToString(callSuper = true)
@SuperBuilder(toBuilder = true)
public class UpGradeRise extends BaseTenant {
    //源年级：指的是年级下的所有数据（必填）
    String sourceGradeId;
    //源年级所在班级的届级编码（必填）
    String classGradesessionYearCode;
    //源班级（选填，为空表示全部）
    List<String> sourceClassIds;

    //目标年级
    String targetGradeId;
    //目标学年
    String targetSchoolYearId;
    //目标学期
    String targetSemesterId;
    //是否强制:true则会重新执行一遍，否则跳过忽略已存在的过程（例如班级不再重新命名）但会检查执行把未升级的升级上
    Boolean izForce = false;
    //是否复制：true则会每次复制新的对象(需要考虑是否覆盖或删除重建)
    Boolean izCopy = false;
    //是否覆盖或新增：true则会直接覆盖已有的，false会删除已有数据进行创建(删除值得是逻辑删除，把删除标识修改为删除状态)
    Boolean izCoverOrReCreate = true;
    //升级方案组：定义了升级方案：是否复制

}
